[INFO] fetching crate oximedia-switcher 0.1.2...
[INFO] testing oximedia-switcher-0.1.2 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065
[INFO] extracting crate oximedia-switcher 0.1.2 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate oximedia-switcher 0.1.2
[INFO] finished tweaking crates.io crate oximedia-switcher 0.1.2
[INFO] tweaked toml for crates.io crate oximedia-switcher 0.1.2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oximedia-switcher 0.1.2 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oximedia-switcher 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1a80fbed40506f4a26128a0efe60d9960a50209f538f2b1baf5ce6425856c704
[INFO] running `Command { std: "docker" "start" "-a" "1a80fbed40506f4a26128a0efe60d9960a50209f538f2b1baf5ce6425856c704", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a80fbed40506f4a26128a0efe60d9960a50209f538f2b1baf5ce6425856c704", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a80fbed40506f4a26128a0efe60d9960a50209f538f2b1baf5ce6425856c704", kill_on_drop: false }`
[INFO] [stdout] 1a80fbed40506f4a26128a0efe60d9960a50209f538f2b1baf5ce6425856c704
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4ad942251854fe07fe15c06ff5ffc21498222181a433503275ee4d539b4d74e6
[INFO] running `Command { std: "docker" "start" "-a" "4ad942251854fe07fe15c06ff5ffc21498222181a433503275ee4d539b4d74e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling audio-core v0.2.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling strength_reduce v0.2.4
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling spin v0.10.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling ttf-parser v0.21.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling scirs2-core v0.3.3
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling audioadapter v2.0.0
[INFO] [stderr]    Compiling audioadapter-sample v2.0.0
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling windowfunctions v0.1.1
[INFO] [stderr]    Compiling rand_distr v0.6.0
[INFO] [stderr]    Compiling fontdue v0.9.3
[INFO] [stderr]    Compiling audioadapter-buffers v2.0.0
[INFO] [stderr]    Compiling primal-check v0.3.4
[INFO] [stderr]    Compiling transpose v0.2.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling oxifft-codegen v0.1.3
[INFO] [stderr]    Compiling visibility v0.1.1
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling oxiarc-core v0.2.4
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling oxiarc-lz4 v0.2.4
[INFO] [stderr]    Compiling oxiarc-zstd v0.2.4
[INFO] [stderr]    Compiling safe_arch v1.0.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.10.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling wide v1.2.0
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling oximedia-core v0.1.2
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling rustfft v6.4.1
[INFO] [stderr]    Compiling oxiblas-core v0.2.1
[INFO] [stderr]    Compiling oxifft v0.1.3
[INFO] [stderr]    Compiling ndarray v0.17.2
[INFO] [stderr]    Compiling oxiblas-matrix v0.2.1
[INFO] [stderr]    Compiling oxiblas-blas v0.2.1
[INFO] [stderr]    Compiling oximedia-io v0.1.2
[INFO] [stderr]    Compiling oximedia-codec v0.1.2
[INFO] [stderr]    Compiling oxiblas-lapack v0.2.1
[INFO] [stderr]    Compiling ndarray-rand v0.16.0
[INFO] [stderr]    Compiling realfft v3.5.0
[INFO] [stderr]    Compiling rubato v1.0.1
[INFO] [stderr]    Compiling oximedia-audio v0.1.2
[INFO] [stderr]    Compiling oxiblas-ndarray v0.2.1
[INFO] [stderr]    Compiling oximedia-graph v0.1.2
[INFO] [stderr]    Compiling oximedia-timecode v0.1.2
[INFO] [stderr]    Compiling oximedia-mixer v0.1.2
[INFO] [stderr]    Compiling oximedia-switcher v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 24s
[INFO] running `Command { std: "docker" "inspect" "4ad942251854fe07fe15c06ff5ffc21498222181a433503275ee4d539b4d74e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ad942251854fe07fe15c06ff5ffc21498222181a433503275ee4d539b4d74e6", kill_on_drop: false }`
[INFO] [stdout] 4ad942251854fe07fe15c06ff5ffc21498222181a433503275ee4d539b4d74e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3ccfd13209e761aae94bf6d45b6a03e70bda62b77913b36e65f8525b9c2d29f
[INFO] running `Command { std: "docker" "start" "-a" "d3ccfd13209e761aae94bf6d45b6a03e70bda62b77913b36e65f8525b9c2d29f", kill_on_drop: false }`
[INFO] [stderr]    Compiling oximedia-switcher v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.79s
[INFO] running `Command { std: "docker" "inspect" "d3ccfd13209e761aae94bf6d45b6a03e70bda62b77913b36e65f8525b9c2d29f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3ccfd13209e761aae94bf6d45b6a03e70bda62b77913b36e65f8525b9c2d29f", kill_on_drop: false }`
[INFO] [stdout] d3ccfd13209e761aae94bf6d45b6a03e70bda62b77913b36e65f8525b9c2d29f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e215995a2e79e997b474c8e440485b319bf5d079eb060161af316a5d44572b95
[INFO] running `Command { std: "docker" "start" "-a" "e215995a2e79e997b474c8e440485b319bf5d079eb060161af316a5d44572b95", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_switcher-3efbb866d225c689)
[INFO] [stdout] 
[INFO] [stdout] running 624 tests
[INFO] [stdout] test audio_follow::tests::test_audio_channel_assignment_creation ... ok
[INFO] [stdout] test audio_follow::tests::test_audio_mixer_channel ... ok
[INFO] [stdout] test audio_follow::tests::test_follow_video ... ok
[INFO] [stdout] test audio_follow::tests::test_audio_follow_manager_creation ... ok
[INFO] [stdout] test audio_follow::tests::test_invalid_channel ... ok
[INFO] [stdout] test audio_follow::tests::test_mixer_channels ... ok
[INFO] [stdout] test audio_follow::tests::test_set_follow_video ... ok
[INFO] [stdout] test audio_follow::tests::test_mute_volume ... ok
[INFO] [stdout] test audio_follow::tests::test_mute_channel ... ok
[INFO] [stdout] test audio_follow::tests::test_set_volume ... ok
[INFO] [stdout] test audio_follow::tests::test_update_from_video ... ok
[INFO] [stdout] test audio_follow_video::tests::test_audio_for_video_disabled_mapping_returns_none ... ok
[INFO] [stdout] test audio_follow_video::tests::test_audio_for_video_disabled_mode_returns_none ... ok
[INFO] [stdout] test audio_follow_video::tests::test_audio_for_video_found ... ok
[INFO] [stdout] test audio_follow_video::tests::test_config_default_mode ... ok
[INFO] [stdout] test audio_follow_video::tests::test_config_default_no_supersource ... ok
[INFO] [stdout] test audio_follow_video::tests::test_config_default_follow_me ... ok
[INFO] [stdout] test audio_follow_video::tests::test_controller_add_mapping_counted ... ok
[INFO] [stdout] test audio_follow_video::tests::test_controller_disabled_mapping_not_counted ... ok
[INFO] [stdout] test audio_follow_video::tests::test_controller_no_mappings_initially ... ok
[INFO] [stdout] test audio_follow_video::tests::test_mapping_fields ... ok
[INFO] [stdout] test audio_follow_video::tests::test_mapping_is_active_disabled ... ok
[INFO] [stdout] test audio_follow_video::tests::test_mapping_is_active_enabled ... ok
[INFO] [stdout] test audio_follow_video::tests::test_mode_disabled_is_not_active ... ok
[INFO] [stdout] test audio_follow_video::tests::test_mode_normal_is_active ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_fader_gain_db ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_fader_unity_gain ... ok
[INFO] [stdout] test audio_follow_video::tests::test_mode_split_is_active ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_mixer_mute ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_fader_pan_centre ... ok
[INFO] [stdout] test audio_follow::tests::test_get_follow_independent_channels ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_mixer_solo ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_input_config ... ok
[INFO] [stdout] test audio_mixer::tests::test_delay_buffer_passthrough ... ok
[INFO] [stdout] test audio_mixer::tests::test_delay_buffer_delay_3 ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_mixer_state_creation ... ok
[INFO] [stdout] test audio_follow::tests::test_get_active_sources ... ok
[INFO] [stdout] test audio_follow::tests::test_set_independent ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_mixer_mix_basic ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_fader_muted ... ok
[INFO] [stdout] test audio_mixer::tests::test_delay_buffer_delay_1 ... ok
[INFO] [stdout] test audio_mixer::tests::test_delay_buffer_set_delay ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_output_routing_default ... ok
[INFO] [stdout] test aux_bus::tests::test_aux_source_is_chain ... ok
[INFO] [stdout] test aux_bus::tests::test_clean_feed_has_modifications ... ok
[INFO] [stdout] test aux_bus::tests::test_register_and_use_clean_feed ... ok
[INFO] [stdout] test aux_bus::tests::test_buses_with_source ... ok
[INFO] [stdout] test audio_follow::tests::test_afv_disabled ... ok
[INFO] [stdout] test aux_bus::tests::test_set_enabled_invalid_bus_errors ... ok
[INFO] [stdout] test aux_bus::tests::test_set_source_input ... ok
[INFO] [stdout] test aux_bus::tests::test_resolve_source_direct ... ok
[INFO] [stdout] test aux_bus::tests::test_set_source_self_chain_errors ... ok
[INFO] [stdout] test audio_mixer::tests::test_audio_mixer_add_remove_input ... ok
[INFO] [stdout] test aux_bus::tests::test_resolve_source_chain ... ok
[INFO] [stdout] test aux_bus::tests::test_set_source_invalid_bus_errors ... ok
[INFO] [stdout] test audio_follow_video::tests::test_audio_for_video_not_found ... ok
[INFO] [stdout] test aux_bus::tests::test_manager_creation ... ok
[INFO] [stdout] test aux_bus::tests::test_bus_default_source_is_black ... ok
[INFO] [stdout] test aux_bus::tests::test_enable_disable_bus ... ok
[INFO] [stdout] test aux_bus::tests::test_set_source_unknown_clean_feed_errors ... ok
[INFO] [stdout] test aux_bus::tests::test_swap_sources ... ok
[INFO] [stdout] test bus::tests::test_aux_bus ... ok
[INFO] [stdout] test bus::tests::test_background_bus ... ok
[INFO] [stdout] test bus::tests::test_bus_assignments ... ok
[INFO] [stdout] test bus::tests::test_bus_manager_creation ... ok
[INFO] [stdout] test bus::tests::test_bus_type_variants ... ok
[INFO] [stdout] test bus::tests::test_clean_feed ... ok
[INFO] [stdout] test bus::tests::test_cut_transition ... ok
[INFO] [stdout] test bus::tests::test_get_set_bus_input ... ok
[INFO] [stdout] test bus::tests::test_preview_bus ... ok
[INFO] [stdout] test bus::tests::test_program_bus ... ok
[INFO] [stdout] test bus::tests::test_take_transition ... ok
[INFO] [stdout] test bus::tests::test_transition_active ... ok
[INFO] [stdout] test chroma::tests::test_chroma_key_creation ... ok
[INFO] [stdout] test chroma::tests::test_chroma_key_params_blue ... ok
[INFO] [stdout] test chroma::tests::test_calculate_alpha_blue ... ok
[INFO] [stdout] test chroma::tests::test_chroma_key_params_green ... ok
[INFO] [stdout] test chroma::tests::test_chroma_color_rgb ... ok
[INFO] [stdout] test chroma::tests::test_set_tolerances ... ok
[INFO] [stdout] test chroma::tests::test_calculate_alpha_green ... ok
[INFO] [stdout] test chroma::tests::test_spill_suppression_green ... ok
[INFO] [stdout] test chroma::tests::test_custom_color ... ok
[INFO] [stdout] test clip_delay::tests::test_buffer_no_output_before_delay ... ok
[INFO] [stdout] test clip_delay::tests::test_buffer_outputs_after_delay_exceeded ... ok
[INFO] [stdout] test chroma::tests::test_disabled_key ... ok
[INFO] [stdout] test chroma::tests::test_edge_softness ... ok
[INFO] [stdout] test chroma::tests::test_hsv_to_rgb_to_hsv ... ok
[INFO] [stdout] test chroma::tests::test_chroma_color_hue ... ok
[INFO] [stdout] test clip_delay::tests::test_clip_delay_max_delay_frames ... ok
[INFO] [stdout] test clip_delay::tests::test_config_delay_clamped_to_max ... ok
[INFO] [stdout] test clip_delay::tests::test_config_delay_frames_basic ... ok
[INFO] [stdout] test clip_delay::tests::test_delay_unit_frames_identity ... ok
[INFO] [stdout] test clip_delay::tests::test_config_max_delay_frames ... ok
[INFO] [stdout] test clip_delay::tests::test_buffer_zero_delay_outputs_immediately ... ok
[INFO] [stdout] test chroma::tests::test_rgb_to_hsv ... ok
[INFO] [stdout] test chroma::tests::test_process_pixel ... ok
[INFO] [stdout] test clip_delay::tests::test_clip_delay_delay_frames ... ok
[INFO] [stdout] test clip_delay::tests::test_buffer_buffered_count ... ok
[INFO] [stdout] test clip_delay::tests::test_delay_unit_milliseconds_zero_framerate ... ok
[INFO] [stdout] test crosspoint::tests::test_crosspoint_display ... ok
[INFO] [stdout] test chroma::tests::test_spill_suppression_blue ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_all_layers ... ok
[INFO] [stdout] test clip_delay::tests::test_delay_unit_fields_to_frames ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_creation ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_default_routing ... ok
[INFO] [stdout] test crosspoint::tests::test_crosspoint_creation ... ok
[INFO] [stdout] test clip_delay::tests::test_delay_unit_milliseconds_to_frames_25fps ... ok
[INFO] [stdout] test clip_delay::tests::test_buffer_flush ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_lock_unlock ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_recall_salvo_not_found ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_route_change ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_route_input_out_of_range ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_recall_salvo_respects_locks ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_save_recall_salvo ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_route_output_out_of_range ... ok
[INFO] [stdout] test crosspoint::tests::test_salvo_creation ... ok
[INFO] [stdout] test downstream_key::tests::test_channel_apply_settings_updates_source ... ok
[INFO] [stdout] test downstream_key::tests::test_channel_is_live_after_on_air ... ok
[INFO] [stdout] test downstream_key::tests::test_channel_starts_off_air ... ok
[INFO] [stdout] test downstream_key::tests::test_controller_channel_count ... ok
[INFO] [stdout] test crosspoint::tests::test_signal_layer_display ... ok
[INFO] [stdout] test downstream_key::tests::test_controller_multiple_live_channels ... ok
[INFO] [stdout] test downstream_key::tests::test_controller_no_live_channels_initially ... ok
[INFO] [stdout] test downstream_key::tests::test_chroma_key_pixel_low_saturation_returns_zero ... ok
[INFO] [stdout] test downstream_key::tests::test_controller_set_on_air ... ok
[INFO] [stdout] test downstream_key::tests::test_controller_set_on_air_invalid_id_no_panic ... ok
[INFO] [stdout] test downstream_key::tests::test_chroma_key_pixel_outside_range_returns_zero ... ok
[INFO] [stdout] test crosspoint::tests::test_matrix_salvo_names ... ok
[INFO] [stdout] test downstream_key::tests::test_downstream_key_is_active_when_on_air ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_source_is_media_player_false_color ... ok
[INFO] [stdout] test downstream_key::tests::test_downstream_key_is_not_active_when_off_air ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_source_is_media_player_false_external ... ok
[INFO] [stdout] test downstream_key::tests::test_chroma_key_pixel_in_range_returns_one ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_source_is_media_player_false_test_pattern ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_settings_default_no_invert ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_stack_set_on_air_returns_false_for_missing ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_settings_default_source ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_stack_set_on_air_returns_true_for_found ... ok
[INFO] [stdout] test downstream_key::tests::test_key_type_chroma_does_not_require_alpha ... ok
[INFO] [stdout] test downstream_key::tests::test_key_type_linear_requires_alpha ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_source_is_media_player_true ... ok
[INFO] [stdout] test downstream_key::tests::test_key_type_luma_does_not_require_alpha ... ok
[INFO] [stdout] test downstream_key::tests::test_key_type_pattern_does_not_require_alpha ... ok
[INFO] [stdout] test downstream_key::tests::test_process_luma_key_below_clip_is_zero ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_settings_default_gain ... ok
[INFO] [stdout] test downstream_key::tests::test_process_luma_key_inverted ... ok
[INFO] [stdout] test dve::tests::test_animation_clear_keyframes ... ok
[INFO] [stdout] test dve::tests::test_animation_empty_returns_none ... ok
[INFO] [stdout] test dve::tests::test_animation_out_of_order_keyframe_error ... ok
[INFO] [stdout] test dve::tests::test_animation_two_keyframes_midpoint ... ok
[INFO] [stdout] test dve::tests::test_animation_single_keyframe ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_stack_active_keys_empty_when_all_off ... ok
[INFO] [stdout] test dve::tests::test_dve_crop ... ok
[INFO] [stdout] test dve::tests::test_dve_border ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_stack_active_keys_returns_on_air_keys ... ok
[INFO] [stdout] test downstream_key::tests::test_dsk_stack_empty_key_count ... ok
[INFO] [stdout] test downstream_key::tests::test_process_luma_key_full_signal_is_max ... ok
[INFO] [stdout] test dve::tests::test_dve_params_default ... ok
[INFO] [stdout] test dve::tests::test_dve_params_pip ... ok
[INFO] [stdout] test downstream_key::tests::test_controller_set_preview ... ok
[INFO] [stdout] test dve::tests::test_dve_position_clamping ... ok
[INFO] [stdout] test dve::tests::test_dve_position_creation ... ok
[INFO] [stdout] test dve::tests::test_dve_processor_creation ... ok
[INFO] [stdout] test dve::tests::test_dve_processor_with_params ... ok
[INFO] [stdout] test dve::tests::test_dve_shadow ... ok
[INFO] [stdout] test dve::tests::test_dve_scale ... ok
[INFO] [stdout] test dve::tests::test_easing_ease_in ... ok
[INFO] [stdout] test dve::tests::test_easing_ease_in_out_midpoint ... ok
[INFO] [stdout] test dve::tests::test_easing_ease_out ... ok
[INFO] [stdout] test dve::tests::test_easing_hold_always_zero ... ok
[INFO] [stdout] test dve::tests::test_dve_position_corners ... ok
[INFO] [stdout] test dve::tests::test_output_rect ... ok
[INFO] [stdout] test dve::tests::test_output_rect_quarter ... ok
[INFO] [stdout] test dve::tests::test_set_position ... ok
[INFO] [stdout] test dve::tests::test_set_rotation ... ok
[INFO] [stdout] test dve::tests::test_set_scale ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_apply_to_frame_black ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_apply_to_frame_normal ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_audio_level ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_audio_no_follow ... ok
[INFO] [stdout] test dve::tests::test_dve_params_side_by_side ... ok
[INFO] [stdout] test dve::tests::test_dve_processor_enable_disable ... ok
[INFO] [stdout] test dve::tests::test_fly_key_advance_frame ... ok
[INFO] [stdout] test dve::tests::test_fly_key_reset ... ok
[INFO] [stdout] test dve::tests::test_easing_linear ... ok
[INFO] [stdout] test audio_follow::tests::test_independent_mode ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_creation ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_full_fade_to_black ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_interrupt_fade ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_full_roundtrip ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_set_config_while_fading ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_reset ... ok
[INFO] [stdout] test ftb_control::tests::test_controller_toggle_to_black ... ok
[INFO] [stdout] test ftb_control::tests::test_ftb_config_validation_zero_frames ... ok
[INFO] [stdout] test ftb_control::tests::test_ftb_curve_linear ... ok
[INFO] [stdout] test ftb_control::tests::test_ftb_curve_scurve ... ok
[INFO] [stdout] test ftb_control::tests::test_ftb_state_display ... ok
[INFO] [stdout] test ftb_control::tests::test_ftb_config_default ... ok
[INFO] [stdout] test input::tests::test_active_inputs ... ok
[INFO] [stdout] test ftb_control::tests::test_ftb_config_validation_too_long ... ok
[INFO] [stdout] test input::tests::test_input_matrix ... ok
[INFO] [stdout] test input::tests::test_input_router ... ok
[INFO] [stdout] test input::tests::test_input_router_max_inputs ... ok
[INFO] [stdout] test input::tests::test_input_signal_status ... ok
[INFO] [stdout] test input::tests::test_input_config_creation ... ok
[INFO] [stdout] test input_bank::tests::test_bank_input_config_invalid_empty_name ... ok
[INFO] [stdout] test input_bank::tests::test_bank_input_config_invalid_zero_number ... ok
[INFO] [stdout] test input::tests::test_input_source_creation ... ok
[INFO] [stdout] test input_bank::tests::test_bank_input_config_is_valid ... ok
[INFO] [stdout] test input_bank::tests::test_bank_input_type_is_external ... ok
[INFO] [stdout] test input_bank::tests::test_bank_input_type_is_sdi ... ok
[INFO] [stdout] test input_bank::tests::test_bank_input_type_label ... ok
[INFO] [stdout] test input_bank::tests::test_input_bank_add_input ... ok
[INFO] [stdout] test input_bank::tests::test_input_bank_capacity_limit ... ok
[INFO] [stdout] test input_bank::tests::test_input_bank_duplicate_number_rejected ... ok
[INFO] [stdout] test input_bank::tests::test_input_bank_enabled_count ... ok
[INFO] [stdout] test input::tests::test_input_type_variants ... ok
[INFO] [stdout] test input_bank::tests::test_bank_input_config_enable_disable ... ok
[INFO] [stdout] test input_bank::tests::test_input_bank_get_input ... ok
[INFO] [stdout] test input_bank::tests::test_validator_duplicate_across_banks ... ok
[INFO] [stdout] test input_bank::tests::test_validator_empty_bank_name ... ok
[INFO] [stdout] test input_bank::tests::test_validator_no_errors ... ok
[INFO] [stdout] test input_manager::tests::test_all_sorted_order ... ok
[INFO] [stdout] test input_manager::tests::test_deregister_clears_active ... ok
[INFO] [stdout] test input_manager::tests::test_find_by_label ... ok
[INFO] [stdout] test input_manager::tests::test_get_missing_id ... ok
[INFO] [stdout] test input_manager::tests::test_get_by_id ... ok
[INFO] [stdout] test input_manager::tests::test_inputs_of_kind ... ok
[INFO] [stdout] test input_manager::tests::test_inputs_in_group ... ok
[INFO] [stdout] test input_manager::tests::test_register_input ... ok
[INFO] [stdout] test input_manager::tests::test_replace_existing_input ... ok
[INFO] [stdout] test input_manager::tests::test_set_active_and_get_active ... ok
[INFO] [stdout] test input_manager::tests::test_set_active_nonexistent_returns_false ... ok
[INFO] [stdout] test input_manager::tests::test_switcher_input_kind_display ... ok
[INFO] [stdout] test input_manager::tests::test_switcher_input_kind_is_physical ... ok
[INFO] [stdout] test keyer::tests::test_auto_transition ... ok
[INFO] [stdout] test keyer::tests::test_downstream_keyer_creation ... ok
[INFO] [stdout] test keyer::tests::test_downstream_keyer_invert ... ok
[INFO] [stdout] test keyer::tests::test_key_source ... ok
[INFO] [stdout] test keyer::tests::test_keyer_config ... ok
[INFO] [stdout] test keyer::tests::test_keyer_manager_creation ... ok
[INFO] [stdout] test keyer::tests::test_keyer_manager_get_downstream ... ok
[INFO] [stdout] test keyer::tests::test_keyer_manager_get_upstream ... ok
[INFO] [stdout] test keyer::tests::test_downstream_keyer_clip_gain ... ok
[INFO] [stdout] test input_manager::tests::test_new_manager_is_empty ... ok
[INFO] [stdout] test keyer::tests::test_upstream_keyer_creation ... ok
[INFO] [stdout] test keyer::tests::test_upstream_keyer_on_air ... ok
[INFO] [stdout] test keyer::tests::test_downstream_keyer_tie ... ok
[INFO] [stdout] test keyer::tests::test_upstream_keyer_type_change ... ok
[INFO] [stdout] test luma::tests::test_calculate_alpha ... ok
[INFO] [stdout] test keyer::tests::test_keyer_manager_on_air_lists ... ok
[INFO] [stdout] test luma::tests::test_calculate_luminance ... ok
[INFO] [stdout] test luma::tests::test_invert_key ... ok
[INFO] [stdout] test luma::tests::test_luma_key_creation ... ok
[INFO] [stdout] test luma::tests::test_enable_disable_key ... ok
[INFO] [stdout] test luma::tests::test_luma_key_mask_creation ... ok
[INFO] [stdout] test luma::tests::test_luma_key_params_defaults ... ok
[INFO] [stdout] test keyer::tests::test_keyer_type_variants ... ok
[INFO] [stdout] test luma::tests::test_set_clip ... ok
[INFO] [stdout] test luma::tests::test_gain_amplification ... ok
[INFO] [stdout] test luma::tests::test_set_gain ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_add_commands ... ok
[INFO] [stdout] test luma::tests::test_mask_contains ... ok
[INFO] [stdout] test luma::tests::test_mask_disabled ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_creation ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_engine ... ok
[INFO] [stdout] test luma::tests::test_process_pixel ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_engine_delete ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_engine_run ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_loop ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_clear ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_player ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_player_empty ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_recorder ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_recorder_already_recording ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_recorder_cancel ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_recorder_not_recording ... ok
[INFO] [stdout] test macro_exec::tests::test_advance_returns_commands_then_none ... ok
[INFO] [stdout] test macro_exec::tests::test_assign_invalid_bank_errors ... ok
[INFO] [stdout] test macro_exec::tests::test_assign_invalid_button_errors ... ok
[INFO] [stdout] test macro_exec::tests::test_assign_macro_to_button ... ok
[INFO] [stdout] test macro_exec::tests::test_conditional_step_executed_when_var_matches ... ok
[INFO] [stdout] test macro_exec::tests::test_conditional_step_skipped ... ok
[INFO] [stdout] test macro_exec::tests::test_pause_and_resume ... ok
[INFO] [stdout] test macro_exec::tests::test_double_trigger_errors ... ok
[INFO] [stdout] test macro_exec::tests::test_set_var_and_retrieve ... ok
[INFO] [stdout] test macro_exec::tests::test_stop_clears_state ... ok
[INFO] [stdout] test luma::tests::test_process_pixel_pre_multiply ... ok
[INFO] [stdout] test macro_exec::tests::test_store_and_count_macros ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_estimated_duration ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_player_pause_resume ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_command_description ... ok
[INFO] [stdout] test macro_exec::tests::test_trigger_executes_macro ... ok
[INFO] [stdout] test macro_exec::tests::test_trigger_not_assigned_errors ... ok
[INFO] [stdout] test macro_system::tests::test_bank_find_by_id_found ... ok
[INFO] [stdout] test macro_system::tests::test_bank_add_increases_count ... ok
[INFO] [stdout] test macro_system::tests::test_bank_find_by_id_not_found ... ok
[INFO] [stdout] test macro_system::tests::test_bank_find_by_name_not_found ... ok
[INFO] [stdout] test macro_system::tests::test_bank_find_by_name_found ... ok
[INFO] [stdout] test macro_engine::tests::test_macro_player_progress ... ok
[INFO] [stdout] test macro_system::tests::test_macro_action_send_gpi_duration_zero ... ok
[INFO] [stdout] test macro_system::tests::test_macro_action_set_key_duration_zero ... ok
[INFO] [stdout] test macro_system::tests::test_macro_action_wait_frames_duration ... ok
[INFO] [stdout] test macro_system::tests::test_macro_is_instant_false ... ok
[INFO] [stdout] test macro_system::tests::test_macro_is_instant_true ... ok
[INFO] [stdout] test macro_system::tests::test_macro_library_empty ... ok
[INFO] [stdout] test macro_system::tests::test_macro_player_is_done_after_all_actions ... ok
[INFO] [stdout] test macro_system::tests::test_macro_player_is_done_when_empty ... ok
[INFO] [stdout] test macro_system::tests::test_macro_action_cut_to_input_duration_zero ... ok
[INFO] [stdout] test macro_system::tests::test_macro_action_run_transition_duration_one ... ok
[INFO] [stdout] test macro_system::tests::test_macro_player_step_empty_macro_returns_none ... ok
[INFO] [stdout] test macro_system::tests::test_bank_macro_count_empty ... ok
[INFO] [stdout] test macro_system::tests::test_macro_player_step_fires_action ... ok
[INFO] [stdout] test macro_system::tests::test_macro_step_count_after_add ... ok
[INFO] [stdout] test macro_system::tests::test_macro_step_count_empty ... ok
[INFO] [stdout] test macro_system::tests::test_macro_empty_is_instant ... ok
[INFO] [stdout] test macro_system::tests::test_macro_total_duration_ms ... ok
[INFO] [stdout] test macro_system::tests::test_macro_library_find_not_found ... ok
[INFO] [stdout] test macro_system::tests::test_step_fields_stored_correctly ... ok
[INFO] [stdout] test macro_system::tests::test_macro_library_store_and_find ... ok
[INFO] [stdout] test macro_system::tests::test_macro_total_duration_ms_zero ... ok
[INFO] [stderr]    Doc-tests oximedia_switcher
[INFO] [stdout] test me_bank::tests::test_me_bank_advance_transition_full ... ok
[INFO] [stdout] test macro_system::tests::test_macro_library_ids_auto_increment ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_advance_when_not_transitioning ... ok
[INFO] [stdout] test macro_system::tests::test_step_has_delay_nonzero ... ok
[INFO] [stdout] test macro_system::tests::test_step_has_delay_zero ... ok
[INFO] [stdout] test macro_system::tests::test_switcher_macro_action_count ... ok
[INFO] [stdout] test macro_system::tests::test_switcher_macro_total_duration_empty ... ok
[INFO] [stdout] test macro_system::tests::test_switcher_macro_total_duration_with_wait ... ok
[INFO] [stdout] test me_bank::tests::test_key_state_creation ... ok
[INFO] [stdout] test me_bank::tests::test_key_state_set_mix_level_clamped ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_advance_transition_partial ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_advance_transition_completes ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_auto_transition_begins ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_config_default ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_creation ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_cut ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_key_state_access ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_config_with_dsk ... ok
[INFO] [stdout] test me_bank::tests::test_me_manager_bank_access ... ok
[INFO] [stdout] test me_bank::tests::test_me_manager_bank_ids_sorted ... ok
[INFO] [stdout] test me_bank::tests::test_me_manager_create_bank ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_cut_cancels_transition ... ok
[INFO] [stdout] test me_bank::tests::test_me_manager_multiple_banks ... ok
[INFO] [stdout] test media_player::tests::test_player_load_clip ... ok
[INFO] [stdout] test me_bank::tests::test_transition_style_is_simple ... ok
[INFO] [stdout] test media_player::tests::test_player_loops_at_end ... ok
[INFO] [stdout] test me_bank::tests::test_me_bank_set_transition_style ... ok
[INFO] [stdout] test media_player::tests::test_player_new_is_idle ... ok
[INFO] [stdout] test media_player::tests::test_player_play_from_paused ... ok
[INFO] [stdout] test me_bank::tests::test_me_manager_remove_bank ... ok
[INFO] [stdout] test media_player::tests::test_player_state_has_clip ... ok
[INFO] [stdout] test media_player::tests::test_pool_add_player_increments_id ... ok
[INFO] [stdout] test media_player::tests::test_pool_find_idle ... ok
[INFO] [stdout] test media_player::tests::test_player_state_is_playing ... ok
[INFO] [stdout] test media_player::tests::test_pool_playing_count ... ok
[INFO] [stdout] test media_player::tests::test_player_stop_resets_position ... ok
[INFO] [stdout] test media_player::tests::test_pool_with_capacity ... ok
[INFO] [stdout] test media_pool::tests::test_has_slot ... ok
[INFO] [stdout] test media_player::tests::test_player_tick_advances_position ... ok
[INFO] [stdout] test media_pool::tests::test_clear_all ... ok
[INFO] [stdout] test media_pool::tests::test_media_pool_creation ... ok
[INFO] [stdout] test media_pool::tests::test_media_pool_preset ... ok
[INFO] [stdout] test media_pool::tests::test_invalid_slot_id ... ok
[INFO] [stdout] test media_pool::tests::test_media_slot_creation ... ok
[INFO] [stdout] test media_pool::tests::test_media_slot_with_name ... ok
[INFO] [stdout] test media_pool::tests::test_clear_slot ... ok
[INFO] [stdout] test media_pool::tests::test_next_available_slot ... ok
[INFO] [stdout] test media_player::tests::test_player_stops_at_end_no_loop ... ok
[INFO] [stdout] test media_pool::tests::test_set_file_path ... ok
[INFO] [stdout] test media_pool::tests::test_slot_not_found ... ok
[INFO] [stdout] test media_pool::tests::test_set_slot_name ... ok
[INFO] [stdout] test multiviewer::tests::test_get_window ... ok
[INFO] [stdout] test media_pool::tests::test_set_dimensions ... ok
[INFO] [stdout] test multiviewer::tests::test_get_window_mut ... ok
[INFO] [stdout] test multiviewer::tests::test_layout_grid_dimensions ... ok
[INFO] [stdout] test multiviewer::tests::test_layout_window_count ... ok
[INFO] [stdout] test multiviewer::tests::test_multiviewer_config_2x2 ... ok
[INFO] [stdout] test multiviewer::tests::test_multiviewer_config_4x4 ... ok
[INFO] [stdout] test multiviewer::tests::test_multiviewer_config_add_remove_window ... ok
[INFO] [stdout] test multiviewer::tests::test_multiviewer_creation ... ok
[INFO] [stdout] test multiviewer::tests::test_multiviewer_enable_disable ... ok
[INFO] [stdout] test media_pool::tests::test_occupied_available_slots ... ok
[INFO] [stdout] test multiviewer::tests::test_multiviewer_tally ... ok
[INFO] [stdout] test multiviewer::tests::test_multiviewer_window ... ok
[INFO] [stdout] test multiviewer::tests::test_tally_border_colors ... ok
[INFO] [stdout] test multiviewer::tests::test_window_pixel_rect ... ok
[INFO] [stdout] test multiviewer::tests::test_window_rect ... ok
[INFO] [stdout] test multiviewer::tests::test_window_rect_clamping ... ok
[INFO] [stdout] test multiviewer::tests::test_window_rect_full_screen ... ok
[INFO] [stdout] test output_routing::tests::test_output_config_deactivate ... ok
[INFO] [stdout] test output_routing::tests::test_output_config_invalid_zero ... ok
[INFO] [stdout] test output_routing::tests::test_output_config_is_valid ... ok
[INFO] [stdout] test output_routing::tests::test_output_config_label_custom ... ok
[INFO] [stdout] test output_routing::tests::test_output_config_label_fallback ... ok
[INFO] [stdout] test output_routing::tests::test_output_matrix_assign_and_get ... ok
[INFO] [stdout] test output_routing::tests::test_output_matrix_assignment_count ... ok
[INFO] [stdout] test output_routing::tests::test_output_matrix_clear_all ... ok
[INFO] [stdout] test media_pool::tests::test_slots_iterator ... ok
[INFO] [stdout] test output_routing::tests::test_output_type_is_preview ... ok
[INFO] [stdout] test output_routing::tests::test_output_matrix_clear_assignment ... ok
[INFO] [stdout] test output_routing::tests::test_output_matrix_outputs_for_source ... ok
[INFO] [stdout] test output_routing::tests::test_output_type_label ... ok
[INFO] [stdout] test output_routing::tests::test_output_type_is_routable ... ok
[INFO] [stdout] test output_routing::tests::test_output_matrix_passthrough ... ok
[INFO] [stdout] test pattern_generator::tests::test_config_new_defaults ... ok
[INFO] [stdout] test pattern_generator::tests::test_config_with_animated ... ok
[INFO] [stdout] test pattern_generator::tests::test_generator_active_pattern ... ok
[INFO] [stdout] test pattern_generator::tests::test_generator_generate_returns_correct_pattern ... ok
[INFO] [stdout] test pattern_generator::tests::test_generator_set_pattern_resets_index ... ok
[INFO] [stdout] test pattern_generator::tests::test_config_default_is_color_bars ... ok
[INFO] [stdout] test pattern_generator::tests::test_pattern_type_label_not_empty ... ok
[INFO] [stdout] test pattern_generator::tests::test_pattern_type_label_values ... ok
[INFO] [stdout] test output_routing::tests::test_output_type_is_program ... ok
[INFO] [stdout] test pattern_generator::tests::test_pattern_type_not_inherently_animated ... ok
[INFO] [stdout] test preview_bus::tests::test_manager_creation ... ok
[INFO] [stdout] test pattern_generator::tests::test_config_with_matte_color ... ok
[INFO] [stdout] test preview_bus::tests::test_manager_invalid_me_row ... ok
[INFO] [stdout] test preview_bus::tests::test_manager_reset_all ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_config_builder ... ok
[INFO] [stdout] test pattern_generator::tests::test_generator_animated_frame_index_advances ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_config_default ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_error_display ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_deselect ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_transition_progress ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_overlay_display ... ok
[INFO] [stdout] test still_store::tests::test_pixel_format_bytes ... ok
[INFO] [stdout] test still_store::tests::test_pixel_format_display ... ok
[INFO] [stdout] test still_store::tests::test_resolution_basics ... ok
[INFO] [stdout] test preview_bus::tests::test_manager_select ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_select_source ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_state_creation ... ok
[INFO] [stdout] test preview_bus::tests::test_clean_feed_display ... ok
[INFO] [stdout] test preview_bus::tests::test_manager_deselect ... ok
[INFO] [stdout] test preview_bus::tests::test_manager_get_all_states ... ok
[INFO] [stdout] test pattern_generator::tests::test_generator_static_frame_index_does_not_advance ... ok
[INFO] [stdout] test preview_bus::tests::test_preview_bus_state_display ... ok
[INFO] [stdout] test still_store::tests::test_resolution_display ... ok
[INFO] [stdout] test still_store::tests::test_store_clear ... ok
[INFO] [stdout] test still_store::tests::test_store_creation ... ok
[INFO] [stdout] test still_store::tests::test_store_data_size_mismatch ... ok
[INFO] [stdout] test still_store::tests::test_store_favorite ... ok
[INFO] [stdout] test still_store::tests::test_store_full ... ok
[INFO] [stdout] test still_store::tests::test_store_load_still ... ok
[INFO] [stdout] test still_store::tests::test_store_memory_limit ... ok
[INFO] [stdout] test still_store::tests::test_store_remove_still ... ok
[INFO] [stdout] test still_store::tests::test_store_slot_ids_sorted ... ok
[INFO] [stdout] test super_source::tests::test_layout_4up ... ok
[INFO] [stdout] test super_source::tests::test_layout_pip ... ok
[INFO] [stdout] test super_source::tests::test_layout_side_by_side ... ok
[INFO] [stdout] test super_source::tests::test_renderer_empty_layout ... ok
[INFO] [stdout] test still_store::tests::test_resolution_buffer_size ... ok
[INFO] [stdout] test super_source::tests::test_renderer_with_box ... ok
[INFO] [stdout] test super_source::tests::test_renderer_with_border ... ok
[INFO] [stdout] test super_source::tests::test_super_source_box_creation ... ok
[INFO] [stdout] test super_source::tests::test_renderer_with_background ... ok
[INFO] [stdout] test super_source::tests::test_super_source_layout_update_box ... ok
[INFO] [stdout] test super_source::tests::test_super_source_layout_add_remove ... ok
[INFO] [stdout] test super_source::tests::test_to_pixel_rect_centre ... ok
[INFO] [stdout] test super_source::tests::test_super_source_box_clamping ... ok
[INFO] [stdout] test super_source::tests::test_to_pixel_rect_full_screen ... ok
[INFO] [stdout] test super_source::tests::test_layout_pip_corner_all_corners ... ok
[INFO] [stdout] test switcher_preset::tests::test_audio_level_clamp ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_component_count ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_clear_unlocked ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_creation ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_delete ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_delete_locked ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_list_by_category ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_recall ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_search ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_display ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_error_display ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_storage_full ... ok
[INFO] [stdout] test switcher_preset::tests::test_manager_store_and_get ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_add_audio ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_add_bus ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_tags ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_add_keyer ... ok
[INFO] [stdout] test sync::tests::test_drop_frame_detection ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_lock_unlock ... ok
[INFO] [stdout] test switcher_preset::tests::test_recall_mode_display ... ok
[INFO] [stdout] test sync::tests::test_frame_advance ... ok
[INFO] [stdout] test sync::tests::test_genlock_source_types ... ok
[INFO] [stdout] test sync::tests::test_source_synchronization ... ok
[INFO] [stdout] test sync::tests::test_timing_drift_detection ... ok
[INFO] [stdout] test tally::tests::test_clear_all ... ok
[INFO] [stdout] test tally::tests::test_configure_output ... ok
[INFO] [stdout] test tally::tests::test_enable_disable ... ok
[INFO] [stdout] test tally::tests::test_get_preview_inputs ... ok
[INFO] [stdout] test tally::tests::test_get_program_inputs ... ok
[INFO] [stdout] test tally::tests::test_set_get_tally ... ok
[INFO] [stdout] test tally::tests::test_tally_config ... ok
[INFO] [stdout] test tally::tests::test_tally_manager_creation ... ok
[INFO] [stdout] test tally::tests::test_tally_output_types ... ok
[INFO] [stdout] test tally::tests::test_tally_state_checks ... ok
[INFO] [stdout] test sync::tests::test_frame_rate_values ... ok
[INFO] [stdout] test sync::tests::test_frame_synchronizer_creation ... ok
[INFO] [stdout] test switcher_preset::tests::test_preset_category_display ... ok
[INFO] [stdout] test tally_protocol::tests::test_encode_message_count_field ... ok
[INFO] [stdout] test tally_protocol::tests::test_parse_response_bad_magic ... ok
[INFO] [stdout] test tally_protocol::tests::test_parse_response_roundtrip ... ok
[INFO] [stdout] test tally_protocol::tests::test_parse_response_too_short ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_color_from_byte_roundtrip ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_color_is_active ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_color_is_on_air ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_color_is_preview ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_color_to_byte ... ok
[INFO] [stdout] test tally::tests::test_tally_state_combine ... ok
[INFO] [stdout] test tally::tests::test_update_from_buses ... ok
[INFO] [stdout] test tally_protocol::tests::test_encode_message_header ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_message_camera_count ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_message_color_for_out_of_range ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_message_color_for_valid ... ok
[INFO] [stdout] test tally_protocol::tests::test_tally_message_on_air_count ... ok
[INFO] [stdout] test tally_protocol::tests::test_validate_roundtrip_empty ... ok
[INFO] [stdout] test tally_state::tests::test_assign_preview ... ok
[INFO] [stdout] test tally_state::tests::test_assign_program ... ok
[INFO] [stdout] test tally_state::tests::test_clear_all ... ok
[INFO] [stdout] test tally_state::tests::test_get_all_resolved_sorted ... ok
[INFO] [stdout] test tally_state::tests::test_clear_source ... ok
[INFO] [stdout] test tally_state::tests::test_on_air_inputs ... ok
[INFO] [stdout] test tally_state::tests::test_preview_inputs ... ok
[INFO] [stdout] test tally_state::tests::test_priority_resolution ... ok
[INFO] [stdout] test tally_state::tests::test_resolved_tally_display ... ok
[INFO] [stdout] test tally_state::tests::test_tally_color_ordering ... ok
[INFO] [stdout] test tally_state::tests::test_tally_source_display ... ok
[INFO] [stdout] test tally_state::tests::test_tally_change_event_display ... ok
[INFO] [stdout] test tally_state::tests::test_transition_state ... ok
[INFO] [stdout] test tally_system::tests::test_live_sources ... ok
[INFO] [stdout] test tally_system::tests::test_register_source ... ok
[INFO] [stdout] test tally_system::tests::test_preview_sources ... ok
[INFO] [stdout] test tally_state::tests::test_change_history ... ok
[INFO] [stdout] test tally_system::tests::test_label ... ok
[INFO] [stdout] test tally_state::tests::test_new_state_machine ... ok
[INFO] [stdout] test tally_system::tests::test_set_keyer_live ... ok
[INFO] [stdout] test tally_state::tests::test_tally_color_display ... ok
[INFO] [stdout] test tally_system::tests::test_set_live ... ok
[INFO] [stdout] test tally_system::tests::test_set_live_removes_from_preview ... ok
[INFO] [stdout] test tally_system::tests::test_clear_all ... ok
[INFO] [stdout] test tally_system::tests::test_set_preview ... ok
[INFO] [stdout] test tally_system::tests::test_new_system_is_empty ... ok
[INFO] [stdout] test tally_system::tests::test_unregister_source ... ok
[INFO] [stdout] test tests::test_switcher_config_professional ... ok
[INFO] [stdout] test tests::test_switcher_config_basic ... ok
[INFO] [stdout] test tests::test_switcher_cut ... ok
[INFO] [stdout] test tests::test_switcher_set_program_preview ... ok
[INFO] [stdout] test tests::test_switcher_tally_update ... ok
[INFO] [stdout] test tally_system::tests::test_set_inactive ... ok
[INFO] [stdout] test tally_system::tests::test_tally_light_color_variants ... ok
[INFO] [stdout] test transition::tests::test_cut_transition ... ok
[INFO] [stdout] test tests::test_switcher_auto_transition ... ok
[INFO] [stdout] test tests::test_switcher_process_frame ... ok
[INFO] [stdout] test tests::test_switcher_creation ... ok
[INFO] [stdout] test transition::tests::test_cancel_transition ... ok
[INFO] [stdout] test tally_system::tests::test_unregistered_source_is_inactive ... ok
[INFO] [stdout] test tests::test_switcher_transition_config ... ok
[INFO] [stdout] test transition::tests::test_advance_transition ... ok
[INFO] [stdout] test transition::tests::test_dve_types ... ok
[INFO] [stdout] test transition::tests::test_duration_conversion ... ok
[INFO] [stdout] test transition::tests::test_already_in_progress ... ok
[INFO] [stdout] test transition::tests::test_mix_ratio ... ok
[INFO] [stdout] test transition::tests::test_mix_ratio_cut ... ok
[INFO] [stdout] test transition::tests::test_pause_resume ... ok
[INFO] [stdout] test transition::tests::test_start_transition ... ok
[INFO] [stdout] test transition::tests::test_take ... ok
[INFO] [stdout] test transition::tests::test_transition_config_mix ... ok
[INFO] [stdout] test transition::tests::test_transition_config_wipe ... ok
[INFO] [stdout] test transition::tests::test_transition_engine_creation ... ok
[INFO] [stdout] test transition::tests::test_set_position ... ok
[INFO] [stdout] test transition::tests::test_wipe_config ... ok
[INFO] [stdout] test transition::tests::test_transition_config_cut ... ok
[INFO] [stdout] test transition::tests::test_wipe_patterns ... ok
[INFO] [stdout] test transition_engine::tests::test_commit_before_complete_returns_none ... ok
[INFO] [stdout] test transition_engine::tests::test_commit_returns_new_source ... ok
[INFO] [stdout] test transition_engine::tests::test_cut_completes_immediately_on_start ... ok
[INFO] [stdout] test transition_engine::tests::test_default_duration_frames ... ok
[INFO] [stdout] test transition_engine::tests::test_progress_zero_when_idle ... ok
[INFO] [stdout] test transition_engine::tests::test_remaining_frames ... ok
[INFO] [stdout] test transition_engine::tests::test_start_moves_to_running ... ok
[INFO] [stdout] test transition::tests::test_transition_preview ... ok
[INFO] [stdout] test transition_engine::tests::test_start_without_arm_returns_false ... ok
[INFO] [stdout] test transition_engine::tests::test_abort_resets_to_idle ... ok
[INFO] [stdout] test transition_engine::tests::test_arm_moves_to_armed ... ok
[INFO] [stdout] test transition_engine::tests::test_progress_increases_with_ticks ... ok
[INFO] [stdout] test transition_engine::tests::test_tick_advances_frames ... ok
[INFO] [stdout] test transition_engine::tests::test_transition_style_display ... ok
[INFO] [stdout] test transition_engine::tests::test_transition_style_requires_rendering ... ok
[INFO] [stdout] test transition_lib::tests::test_dve_path_clamp_before_start ... ok
[INFO] [stdout] test transition_lib::tests::test_dve_path_interpolation_midpoint ... ok
[INFO] [stdout] test transition_lib::tests::test_push_config_directions ... ok
[INFO] [stdout] test transition_engine::tests::test_new_orchestrator_is_idle ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_def_library_default_mix ... ok
[INFO] [stdout] test transition_lib::tests::test_dve_path_no_keyframes_returns_none ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_library_add_and_find ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_def_is_not_cut ... ok
[INFO] [stdout] test transition_lib::tests::test_dve_path_single_keyframe ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_library_favourites ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_library_wipe_filter ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_def_library_register_and_find_by_type ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_mix_alpha_at_one ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_type_dve_has_duration ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_mix_alpha_at_zero ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_type_mix_has_duration ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_type_sting_has_duration ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_type_wipe_has_duration ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_def_is_cut ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_entry_creation ... ok
[INFO] [stdout] test transition_lib::tests::test_wipe_direction_right_angle ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_type_cut_has_no_duration ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_wipe_mask_all_one_at_end ... ok
[INFO] [stdout] test transition_lib::tests::test_vec2_magnitude_unit ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_mix_alpha_clamps ... ok
[INFO] [stdout] test transition_lib::tests::test_vec2_normalised ... ok
[INFO] [stdout] test transition_lib::tests::test_vec2_zero_normalise_no_panic ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_wipe_mask_correct_length ... ok
[INFO] [stdout] test transition_lib::tests::test_wipe_config_reversed ... ok
[INFO] [stdout] test transition_lib::tests::test_wipe_config_defaults ... ok
[INFO] [stdout] test transition_lib::tests::test_wipe_config_with_border ... ok
[INFO] [stdout] test transition_lib::tests::test_wipe_direction_down_angle ... ok
[INFO] [stdout] test transition_lib::tests::test_transition_wipe_mask_all_zero_at_start ... ok
[INFO] [stdout] test transition_lib::tests::test_wipe_direction_left_angle ... ok
[INFO] [stdout] test transition_lib::tests::test_wipe_direction_up_angle ... ok
[INFO] [stdout] test sync::tests::test_genlock_controller ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 624 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 18) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e215995a2e79e997b474c8e440485b319bf5d079eb060161af316a5d44572b95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e215995a2e79e997b474c8e440485b319bf5d079eb060161af316a5d44572b95", kill_on_drop: false }`
[INFO] [stdout] e215995a2e79e997b474c8e440485b319bf5d079eb060161af316a5d44572b95
